<!-- saved from url=(0014)about:internet --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<!-- Standard Head Part -->
<head>
<title>NUnit - Datapoint</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="en-US">
<link rel="stylesheet" type="text/css" href="nunit.css">
<link rel="shortcut icon" href="favicon.ico">
</head>
<!-- End Standard Head Part -->

<body>

<!-- Standard Header for NUnit.org -->
<div id="header">
  <a id="logo" href="http://www.nunit.org"><img src="img/logo.gif" alt="NUnit.org" title="NUnit.org"></a>
  <div id="nav">
    <a href="http://www.nunit.org">NUnit</a>
    <a class="active" href="index.html">Documentation</a>
  </div>
</div>
<!-- End of Header -->

<div id="content">

<h3>DatapointAttribute / DatapointsAttribute (NUnit 2.5) (Experimental)</h3>

<p>The <b>Datapoint</b> and <b>Datapoints</b> attributes are used
   to provide data for <b>Theories</b> and are ignored for ordinary
   tests - including tests with parameters.
   
<h4>DataPointAttribute</h4>
   
<p>When a Theory is loaded, NUnit creates arguments for each
   of its parameters by using any fields of the same type
   as the parameter annotated with the <b>DatapointAttribute</b>.
   Fields must be members of the class containing the Theory
   and their Type must exactly match the argument for which
   data is being supplied.
   
<h4>DataPointsAttribute</h4>
   
<p>In addition to specifying individual datapoints, collections of
   datapoints may be provided by use of the <b>DatapointsAttribute</b>
   - note the spelling. This attribute may be placed on methods or
   properties in addition to fields. The returned value must be
   either an array of the required type or (beginning with NUnit
   2.5.5) an <b>IEnumerable&lt;T&gt;</b> returning an enumeration
   of the required type. The data Type must exactly match the argument 
   for which data is being supplied.
   
<h4>Automatically Supplied Datapoints</h4>

<p>It is normally not necessary to specify datapoints for 
   <b>boolean</b> or <b>enum</b> arguments. Beginning with
   version 2.5.4, NUnit automatically supplies values of <b>true</b> 
   and <b>false</b> for <b>boolean</b> arguments and will supply all 
   defined values of any enumeration.
   
<p>If for some reason you don't wish to use all possible values, you
   can override this behavior by supplying your own datapoints. If you
   supply any datapoints for an argument, automatic datapoint generation 
   is suppressed.
   
<h4>Example</h4>

<p>For an example of use, see <a href="theory.html">TheoryAttribute</a>.
   
<h4>See also...</h4>

<ul>
<li><a href="theory.html">TheoryAttribute</a><li><a href="parameterizedTests.html">Parameterized Tests</a></ul>
   

</div>

<!-- Submenu -->
<div id="subnav">
<ul>
<li><a href="index.html">NUnit 2.5.10</a></li>
<ul>
<li><a href="getStarted.html">Getting&nbsp;Started</a></li>
<li><a href="assertions.html">Assertions</a></li>
<li><a href="constraintModel.html">Constraints</a></li>
<li><a href="attributes.html">Attributes</a></li>
<ul>
<li><a href="category.html">Category</a></li>
<li><a href="combinatorial.html">Combinatorial</a></li>
<li><a href="culture.html">Culture</a></li>
<li id="current"><a href="datapoint.html">Datapoint(s)</a></li>
<li><a href="description.html">Description</a></li>
<li><a href="exception.html">Exception</a></li>
<li><a href="explicit.html">Explicit</a></li>
<li><a href="ignore.html">Ignore</a></li>
<li><a href="maxtime.html">Maxtime</a></li>
<li><a href="pairwise.html">Pairwise</a></li>
<li><a href="platform.html">Platform</a></li>
<li><a href="property.html">Property</a></li>
<li><a href="random.html">Random</a></li>
<li><a href="range.html">Range</a></li>
<li><a href="repeat.html">Repeat</a></li>
<li><a href="requiredAddin.html">RequiredAddin</a></li>
<li><a href="requiresMTA.html">Requires&nbsp;MTA</a></li>
<li><a href="requiresSTA.html">Requires&nbsp;STA</a></li>
<li><a href="requiresThread.html">Requires&nbsp;Thread</a></li>
<li><a href="sequential.html">Sequential</a></li>
<li><a href="setCulture.html">SetCulture</a></li>
<li><a href="setUICulture.html">SetUICulture</a></li>
<li><a href="setup.html">Setup</a></li>
<li><a href="setupFixture.html">SetupFixture</a></li>
<li><a href="suite.html">Suite</a></li>
<li><a href="teardown.html">Teardown</a></li>
<li><a href="test.html">Test</a></li>
<li><a href="testCase.html">TestCase</a></li>
<li><a href="testCaseSource.html">TestCaseSource</a></li>
<li><a href="testFixture.html">TestFixture</a></li>
<li><a href="fixtureSetup.html">TestFixtureSetUp</a></li>
<li><a href="fixtureTeardown.html">TestFixtureTearDown</a></li>
<li><a href="theory.html">Theory</a></li>
<li><a href="timeout.html">Timeout</a></li>
<li><a href="values.html">Values</a></li>
<li><a href="valueSource.html">ValueSource</a></li>
</ul>
<li><a href="runningTests.html">Running&nbsp;Tests</a></li>
<li><a href="extensibility.html">Extensibility</a></li>
<li><a href="releaseNotes.html">Release&nbsp;Notes</a></li>
<li><a href="samples.html">Samples</a></li>
<li><a href="license.html">License</a></li>
</ul>
</ul>
</div>
<!-- End of Submenu -->


<!-- Standard Footer for NUnit.org -->
<div id="footer">
  Copyright &copy; 2010 Charlie Poole. All Rights Reserved.
</div>
<!-- End of Footer -->

</body>
</html>
